/**************************************************
  File: include/keypress.h
  Description: Audio Cup Keypress Values ( header )
  Author: Brant Anderson
  Date: 10/29/01
  Last Update: 10/29/01
  Status: Kinda Bad
  To Do:
 **************************************************/


#include "lcd/sockets.h"
#include "xaudio/player.h"

#ifndef SONGINFO
 #define SONGINFO
 #define MP3 10
 #define OGG 20
 typedef struct {
     int scroller;
     char artist[64];
     char album[64];
     char track[64];
     char title[64];

     char *playlist;
     char *filename;
     int ctype;
     int songnum;
     int loop;
 } SongInfo;
#endif

#ifndef GENERIC_CONTROL_FUNCTIONS
 #define GENERIC_CONTROL_FUNCTIONS
 /**** Generic Player Control Functions ****/
 int getCount( char *playlist );
 char *getSong( char *playlist, int songnum );
 SongInfo getSongInfo( SongInfo songinf );
 int openSong( SongInfo songinf, char *filename );
 int playSong( int ctype );
 int pauseSong( int ctype );
 int stopSong( int ctype );
 int seekSong( int ctype, unsigned short offset );
 int closePlayer( int ctype );
 /* Need to make this generic... */
 int getMessage( int ctype, XA_Message *xaMessage );
 /**** Display Key-Press Stuff ****/
 void menuDisplay( SongInfo songinf );
#endif


/* char keyUpLeft, keyDownRight; */
char keyUp, keyLeft, keyDown, keyRight;
char keyMenu, keyAction, keyDisplay, keyMode;
char keyList1, keyList2, keyList3, keyList4;

/* char keyList5, keyList6, keyList7, keyList8;
char keyList9, keyList10, keyList11, keyList12;
char keyList13, keyList14, keyList15, keyList16; */


SongInfo upleft_signal_connect( SongInfo songinf );
SongInfo downright_signal_connect( SongInfo songinf );

SongInfo up_signal_connect( SongInfo songinf );
SongInfo left_signal_connect( SongInfo songinf );
SongInfo down_signal_connect( SongInfo songinf );
SongInfo right_signal_connect( SongInfo songinf );

SongInfo menu_signal_connect( SongInfo songinf );
SongInfo action_signal_connect( SongInfo songinf );
SongInfo display_signal_connect( SongInfo songinf );
SongInfo mode_signal_connect( SongInfo songinf ); /* Temperary Loop Killer */

SongInfo listone_signal_connect( SongInfo songinf );
SongInfo listtwo_signal_connect( SongInfo songinf );
SongInfo listthree_signal_connect( SongInfo songinf );
SongInfo listfour_signal_connect( SongInfo songinf );
void listfive_signal_connect( void );
void listsix_signal_connect( void );
void listseven_signal_connect( void );
void listeight_signal_connect( void );
void listnine_signal_connect( void );
void listten_signal_connect( void );
void listeleven_signal_connect( void );
void listtwelve_signal_connect( void );
void listthirteen_signal_connect( void );
void listfourteen_signal_connect( void );
void listfifteen_signal_connect( void );
void listsixteen_signal_connect( void );
